Recently, there has been an increasing trend of the amount of information available on any given subject matter due to the interconnection of computers via networks (e.g., the Internet) and the increased availability of inexpensive data storage. In many situations, people attempting to retrieve information on a subject area are overwhelmed with a vast amount of information. Data that is desired becomes difficult to locate amongst the vast amount of information presented to a user. Various known information retrieval systems have evolved that attempt to avoid the problem of information overload by performing a ranking or prioritization of information. These systems attempt to retrieve and provide information based on an approximation of how useful, interesting, and/or responsive the information is likely to be to a system user.
For example, many systems provide search engines, which search database contents or “web sites” according to terms provided by a user query. However, limitations of search heuristics often cause irrelevant content to be returned in response to a query. Furthermore, the vast wealth of available information makes it difficult to separate irrelevant content from relevant content. Other systems organize content based on a hierarchy of categories. These systems suffer from the fact that a user may select a category to navigate through and determine that the content of the category is of no interest to the user. The user must then backtrack through one or more of the hierarchical categories to return to the available categories. The user then will have to continue this process until the user locates the desired information.
In view of the shortcomings of the systems discussed above, collaborative filtering systems have been developed. Collaborative filtering methods center on the construction of models that can be used to infer preferences of individuals or groups by considering the actions of a large groups of users. Collaborative filtering systems predict preferences of a user based on known attributes of the user as well as known attributes of other users. For example, a preference of a user may be whether they would like to watch a particular television show, while an attribute of the user may include their age, gender and income. In addition, the attributes can contain one or more of the user's known preferences, such as the user's dislikes of certain other shows. A user's preference can also be predicted based on the similarity of that user's attributes to other users. Typically, attributes are provided numerical values (e.g., a vote) and a weighted sum of the attribute values are utilized to determine a preference. Additionally, correlation computations are employed for a given user and other users to predict the preference of a user for a particular selection. Some collaborative filtering systems employ clustering algorithms to determine users whose preferences seem to be similar.
Collaborative filter systems have been determined to be relatively successful in selecting desirable preferences of a user given adequate attributes of the user. However, in certain circumstances a single content-access system may be employed that is utilized by multiple users all having different attributes and preferences. For example, a single household may all share a single computer or a single television device. In these circumstances, there is no way for a collaborative filtering system to determine which of the household members is utilizing the system at any given time without the member identifying themselves. Accordingly, there is an unmet need in the art for providing a collaborative filtering technique to an information retrieval and processing system that can be employed on a shared device.